什么是 OPC 协议
OPC是OLE for Process Control的缩写,是一个用于过程控制的工业标准协议。OPC协议以微软的OLE技术为基础,它的制定是通过提供一套标准的OLE/COM接口完成的。在OPC技术中使用OLE2技术,OLE允许多台微机之间交换文档、图形等对象。OPC协议包括一整套接口、属性和方法的标准集。OPC协议被广泛应用于过程控制系统,为不同供应商的设备和软件之间提供互操作。
新版本的OPC协议(OPC UA)在其设计中已经包括了安全性需求,但OPC Classic协议(如OPC OPC是OLE for Process Control的缩写,是一个用于过程控制的工业标准协议。OPC协议以微软的OLE(Object Linking and Embedding,对象连接与嵌入)技术为基础,它的制定是通过提供一套标准的OLE/COM接口完成的。在OPC技术中使用OLE2技术,OLE允许多台微机之间交换文档、图形等对象。OPC协议包括一整套接口、属性和方法的标准集。OPC协议被广泛应用于过程控制系统,为不同供应商的设备和软件之间提供互操作。
建立OPC协议连接需要以下两步:
① 客户端通过135端口查询服务器以获取通信所需的TCP端口号;
② 客户端使用步骤①获取到的端口号连接服务器,访问目标数据。
步骤①中数据对象请求使用的端口号是标准化的,但步骤②的实际数据连接所使用的端口号是由OPC服务器随机动态分配的,因此没有办法提前知道服务器返回给客户端的端口号是什么。由于服务器可以分配的端口号范围很广,因此传统的防火墙在保护OPC服务器时,不得不允许OPC客户端和OPC服务器之间进行大范围端口号的TCP连接。在这种情况下,防火墙提供的安全保障将被降至最低。而且目前绝大多数的OPC服务器还没有防火墙的保护,很容易遭受黑客入侵和恶意软件的攻击。